Skip to content

feat(linux): Add standby mode docs for AM62L#656

Open
ti-scaria wants to merge 1 commit intoTexasInstruments:masterfrom
ti-scaria:standby
Open

feat(linux): Add standby mode docs for AM62L#656
ti-scaria wants to merge 1 commit intoTexasInstruments:masterfrom
ti-scaria:standby

Conversation

@ti-scaria
Copy link
Copy Markdown

Introduce standby mode in AM62L and how it is used.

Extending the CPUidle documentation for AM62L.

Introduce standby mode in AM62L and how it is used.

Extending the CPUidle documentation for AM62L.

Signed-off-by: Scaria Kochidanadu <s-kochidanadu@ti.com>
@github-actions
Copy link
Copy Markdown

New warnings found with rstcheck:

source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:160: (WARNING/2) Title overline too short.
source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:160: (WARNING/2) Title overline too short.
source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:230: (WARNING/2) Title overline too short.
source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:230: (WARNING/2) Title overline too short.
source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:300: (WARNING/2) Title overline too short.
source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:300: (WARNING/2) Title overline too short.
source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:337: (WARNING/2) Title overline too short.
source/linux/Foundational_Components/Power_Management/pm_am62l_standby.rst:337: (WARNING/2) Title overline too short.

Copy link
Copy Markdown
Collaborator

@praneethbajjuri praneethbajjuri left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

bunch of issues with text format . Review and address vale comments as well


########################
AM62L Standby Mode
########################
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Reduce this "#####" till the text


*****************************
Standby Mode: Opportunistic
*****************************
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here


*****************************
Idle States Supported
*****************************
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here


****************************
Critical Prerequisites
****************************
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

same here


****************************
Power Sequencing and Cluster Standby Entry/Exit
****************************
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

increase here

Copy link
Copy Markdown
Contributor

@kwillis01 kwillis01 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One other consideration is whether the pm_am62l_standby.rst page will be used by future SoCs, however the references to only AM62L should be good for now, just might have to be updated in the future.

AM62L Standby Mode
########################

**Overview**
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO remove, this is not really needed

* **Automatic Operation**: No user configuration required; the system makes power decisions in real-time
* **Transparent**: Happens silently in the background during normal idle periods
* **Fast Response**: Minimal latency to wake up from idle state upon interrupt
* **Hierarchical Power Management**: Extends from individual CPU idle states to cluster-level standby
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This may need more explanation, I am not sure if this is clear what this means to someone who is not familiar with standby

Comment on lines +21 to +22
automatically adjusts clock frequencies, disables non-critical power domains, and enables DDR auto-self-refresh
when all cores are idle, then quickly restores full operational state when needed.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Lines 12-13 kind of say the same thing. Might want to think about if you're repeating the same info and how to fix it so its not duplicate if possible


**CPSW (Gigabit Ethernet) Driver Suspension**

The entry into Cluster level standby is conditioned on CPSW driver being suspended, since hardware CRC errors
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

s/conditioned/conditional

The entry into Cluster level standby is conditioned on CPSW driver being suspended, since hardware CRC errors
occur when CPSW continues operation during cluster standby. The CPSW is an Always-On IP in the AM62L SoC.
For cluster standby mode to be entered safely, the CPSW driver must be suspended/disabled. This is handled
in the device tree overlay by disabling CPSW during standby transitions.
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove the sentence about it being handled by the overlay since that is in the warning section below and CPSW is disabled completely

idle transitions and hardware stability.

****************************
Device Tree Configuration
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO this section isn't needed because in the Idle States Supported section, this information is covered. If anything you can merge that info there so it is not separated. I don't think you need an example structure since the user can go look at the overlay themselves.

is being actively used during idle periods.

****************************
Power Consumption Expectations
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

IMO this section should be removed and the power measurements should be updated every cycle in the Linux performance section where the other low power mode measurements are.

- :file:`plat/ti/k3/common/k3_psci.c` - PSCI implementation for K3 platforms
.. ifconfig:: CONFIG_part_variant in ('AM62X', 'AM62AX', 'AM62PX', 'J722S')

- :file:`plat/ti/k3/common/k3_psci.c` - PSCI implementation for K3 platforms
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://github.com/TexasInstruments/processor-sdk-doc/blob/master/CONTRIBUTING.md#indentation-and-whitespace

RST is very whitespace focused. 3 spaces is the current standard. This allows code sections to clearly line up with directive

can be used as a reference.

.. ifconfig:: CONFIG_part_variant in ('AM62LX')

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@@ -0,0 +1,354 @@
.. _am62l_standby_mode:

########################
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

10 participants